package com.hualude.roadsign.service;

import com.hualude.roadsign.dto.DTRequestDto;
import com.hualude.roadsign.dto.DTResponseDto;
import com.hualude.roadsign.dto.GuardrailDto;
import com.hualude.roadsign.dto.GuardrailFaultDto;

import java.util.List;

/**
 * Created by pjn on 2017/8/14.
 */
public interface GuardrailFaultService {
    /**
     * @Description: 获取故障datatable
     * @Author: pan-jianan
     * @Date: 2017/8/14 12:11
     */
    public DTResponseDto getGuardrailReportFault4DT(DTRequestDto dtRequestDto, Integer actorId, Integer userId, Integer orgId) throws Exception;

    /**
     * @Description: 更新故障
     * @Author: pan-jianan
     * @Date: 2017/8/14 12:11
     */
    public Integer updateGuardrailFault(Integer guardrailFaultId, Integer guardrailFaultLevel, Integer guardrailFaultType, String guardrailFaultPhoto, String guardrailFaultReason, Double guardrailMoney) throws Exception;

    /**
     * @Description: 删除故障
     * @Author: pan-jianan
     * @Date: 2017/8/14 12:11
     */
    public Integer deleteGuardrailFaultByIds(String guardrailFaultIds) throws Exception;


    /**
     * @Description: 上报
     * @Author: pan-jianan
     * @Date: 2017/8/14 17:06
     */
    public Integer reportGuardrailFault(Integer guardrailId, Integer guardrailFaultCreatorId, Integer guardrailFaultLevel, Integer guardrailFaultType,
                                        String guardrailFaultPhoto, String guardrailFaultReason, Double guardrailMoney, Integer guardrailOrgId, Integer guardrailMainOrgId) throws Exception;

    /**
     * @Description: 判断是否可上报：1可以，0不行
     * @Author: pan-jianan
     * @Date: 2017/8/14 17:06
     */
    public Integer getGuardrailFaultIsReport(Integer guardrailId) throws Exception;

    /**
     * @Description: 护栏DT4故障上报
     * @Author: jiang-weirong
     * @Date: 2017/8/14 17:59
     */
    public DTResponseDto getGuardrailFaultReport4DT(DTRequestDto dtRequestDto, Integer actorId, Integer orgId,String roadName, String startRoad, String endRoad) throws Exception;

    /**
     * @Description: 护栏获取第一个路名
     * @Author: pan-jianan
     * @Date: 2017/8/11 17:20
     */
    public List<String> getStartRoad(String roadName, Integer actorId, Integer orgId) throws Exception;

    /**
     * @Description: 护栏根据第一个获取第二个路名
     * @Author: pan-jianan
     * @Date: 2017/8/11 17:20
     */
    public List<String> getSectionByStartRoad(String roadName, Integer actorId, Integer orgId) throws Exception;

    /**
     * @Description: 获取上报list
     * @Author: jiang-weirong
     * @Date: 2017/8/19 18:47
     */
    public List<GuardrailFaultDto> getGuardrailFaultList4App(Integer orgId, String actorIds, Integer faultStatus, Integer count, Integer size) throws Exception;

    /**
     * @Description: 获取护栏坐标以及图片
     * @Author: jiang-weirong
     * @Date: 2017/8/25 19:00
     */
    public List<GuardrailDto> getGuardrailCoordinates4Map(Integer orgId, Integer orgType, Integer actorId) throws Exception;
}
